When printing an image using electrophotography, even though image data indicate same color and same density for pixels of an entire sheet, a density of a coloring material formed on a sheet may become uneven. In order to correct the unevenness, an unevenness correction of one type can be carried out to modify the image data in accordance with a coordinate value of pixels in a main scan direction. When the unevenness correction is carried out, edges of characters printed on the sheet may include jaggies because a screen pattern may lie over a region of the characters due to the unevenness correction. In view of this issue, a method provides a technique of selectively carrying out unevenness correction depending on the type (image/graphics/text) of an object to be printed. It is also desirable to further precisely carry out the unevenness correction with respect to each of the object, to improve image quality.